package service;

import constant.SecurityConstants;
import lombok.SneakyThrows;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
import org.springframework.security.oauth2.provider.ClientDetails;
import org.springframework.security.oauth2.provider.client.JdbcClientDetailsService;

import javax.sql.DataSource;

public class MedicalClientDetailsService extends JdbcClientDetailsService {

    public MedicalClientDetailsService(DataSource dataSource) {
        super(dataSource);
    }

    /**
     * 重写原生方法支持redis缓存
     *
     * @param clientId
     * @return
     * @throws InvalidClientException
     */
//    @Override
//    @SneakyThrows
//    @Cacheable(value = SecurityConstants.CLIENT_DETAILS_KEY, key = "#clientId", unless = "#result == null")
//    public ClientDetails loadClientByClientId(String clientId) {
//        System.out.println("进入------------------loadClientByClientId");
//        return super.loadClientByClientId(clientId);
//    }

}
